package com.roselism.mobilesafe.library;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.CheckBox;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.roselism.mobilesafe.R;

import butterknife.Bind;
import butterknife.ButterKnife;

/**
 * 设置的单个Item
 * 界面：两个textview和一个checkbox
 * Created by simon on 2016/4/27.
 */
public class SettingLayout extends RelativeLayout {

    @Bind(R.id.title_textview) TextView mTitle;
    @Bind(R.id.desc_textview) TextView mDesc;
    @Bind(R.id.checkbox) CheckBox mCheckbox;

    public SettingLayout(Context context) {
        super(context);
        initView();
    }

    public SettingLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        initView();
    }

    public SettingLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initView();
    }

    /**
     * 设置标题
     *
     * @param title 新的标题
     */
    public void setTitle(String title) {
        mTitle.setText(title);
    }

    /**
     * 设置是否选中
     *
     * @param isChecked
     */
    public void setChecked(boolean isChecked) {
        mCheckbox.setChecked(isChecked);
    }

    /**
     * 设置desc
     *
     * @param desc 新的内容
     */
    public void setDesc(String desc) {
        mDesc.setText(desc);
    }

    /**
     * 扭转选中的状态
     * 转换checkoutbox的选中状态
     *
     * @return 返回切换后的状态，（转换后的状态）
     */
    public boolean reverseChecked() {
        if (mCheckbox.isChecked()) {
            mCheckbox.setChecked(false); // 设置成未选中
            return false;
        } else {
            mCheckbox.setChecked(true);
            return true;
        }
    }

    /**
     * 初始化一个view
     */
    public void initView() {
        View.inflate(getContext(), R.layout.setting_layout, this); // 装填一个子布局
        ButterKnife.bind(this); // 绑定
    }
}